Is this C89? Or C99?

Code:
#include <stdio.h>

struct s {
    int one, two;
};

void func(struct s structure) {
    printf("%i %i\n", structure.one, structure.two);
}

int main(void) {
    func((struct s) {.one = 5});
    func((struct s) {1});
    func((struct s) {.two = 3, .one = 1});

    return 0;
}